1. Field of the Invention
The present invention relates generally to a channel encoding device and method for a data communication system, and in particular, to a device and method for rate matching of channel-encoded symbols.
2. Description of the Related Art
Generally, in digital communication systems such as satellite systems, ISDN (Integrated Services Digital Network) systems, digital cellular systems, W-CDMA (Wideband Code Division Multiple Access) systems, UMTS (Universal Mobile Telecommunication Systems) and IMT-2000 (International Mobile Telecommunication-2000) systems, source user data is channel encoded with an error correction code before transmission in order to increase the reliability of the system. A convolutional code and a linear block code are typically used for channel encoding, and, for the linear block code, a single decoder is used. Recently, in addition to such codes, a turbo code is also being widely used, which is useful for data transmission and reception.
In multiple access communication systems which support multiple users and multi-channel communication systems with multiple channels, channel encoded symbols are matched to a given number of transmission channel symbols, in order to increase the efficiency of data transmission and to improve system performance. Such a process is called “rate matching” Rate matching is also performed to match the output symbol rate with the transmission symbol rate. Typical rate matching methods include puncturing or repeating parts of channel-encoded symbols.
A conventional rate matching device is shown in FIG. 1. Referring to FIG. 1, a channel encoder 100 encodes input information bits (k) at a coding rate R=k/n, and outputs encoded symbols (n). A multiplexer (MUX) 110 multiplexes the encoded symbols. A rate matching block 120 rate-matches the multiplexed encoded symbols by puncturing or repeating, and outputs the rate-matched symbols to a transmitter (not shown). The channel encoder 100 operates at every period of a symbol clock having a speed of CLOCK, and the multiplexer 110 and the rate matching block 120 operate at every predetermined period of a clock having a speed of n×CLOCK.
It should be noted that the rate matching device of FIG. 1 is proposed to be applied to the case where a non-systematic code such as a convolution code or a linear block code is used for channel encoding. For symbols, channel-encoded with a non-systematic code such as a convolutional code or a linear block code, because there is no weight between symbols, i.e., since the error sensitivity of the encoded symbols output from the channel encoder 100 is similar for every symbol within one frame, it is possible that the symbols encoded by the channel encoder 100 are provided to the rate matching block 120 without distinction and undergo puncturing or repeating, as shown in FIG. 1.
However, when using systematic codes, such as a turbo code, there is weight between symbols, so it is not good for the channel encoded symbols that are provided to the rate matching block 120 to equally undergo puncturing or repeating. Because the weight is not equal between information symbols and parity symbols, it is preferable for the rate matching block 120 to puncture parity symbols out of the turbo-encoded symbols, but not puncture the information symbols. As an alternative case, the rate matching block 120 can repeat the information symbols out of the turbo-encoded symbols to increase the energy of the symbols, but should not repeat the parity symbols, if possible. That is, it is difficult to use the rate matching device of FIG. 1 when a turbo code is being used. This is natural in the light of the facts that the structure of FIG. 1 is available for only non-systematic codes such as convolutional codes or linear block codes, and the turbo code has new properties different from those of the convolutional codes and the linear block codes.
Recently, to solve such a problem, a method has been proposed for rate matching the symbols channel-encoded with the turbo code. However, such a method can be used only when rate matching the turbo-encoded symbols, and cannot be used when rate matching the symbols channel-encoded with the existing convolutional codes or linear block codes.
Therefore, there is a need for a single device and method for rate matching both symbols channel-encoded with existing non-systematic code and symbols channel-encoded with systematic code. For example, a data communication system designed to support both non-systematic code and systematic code requires two different structures in order to rate match both codes, causing an increase in complexity. However, if it is possible to rate match the different codes using a single structure, the complexity of implementation will be reduced.